Late Change: ReWrite 0.2.1 is identical to ReWrite 0.2 except for a bug fix.
ReWrite is a development version of a programming langauge for the Macintosh using a rewrite rules syntax. See the Documentation for details.
Files
This file should be part of a folder containing the following:
This README file
ReWrite 0.2 (the application)
ReWrite 0.2 Documentation (a DOCmaker document)
ReWrite 0.2 Docs - Claris (the ClarisWorks™ version of the same thing)
Sample Project
Sample Project should contain the following files:
0Project
r.setup
r.go
l.setup
l.go
For those (very few) people that have a previous version of ReWrite:
throw the old version away completely. This version replaces it, and the object code (and much of the source) is not compatible.
Requirements
ReWrite will only work on Macintoshes with a 68020 or better, and (last time I checked) will run in emulation on PowerMacs. It requires at least 1500K to run. I think that System 7.0 or better is also required.
Documentation
The main form of the Documentation is The DOCMaker document, but for ease of anyone who wishes to print it out (or who finds that DocMaker crashes, a ClarisWorks version has been included. (This should easily convert to whatever word processor you use). Both versions of the Documentation are (very nearly) the same. Colour text is used for clarity, but is not essential for making sense of the documents. Also, page and section numbering has not been used, as the documentation is not in its final form.
Versions and changes
ReWrite is a very rapidly evolving language. In the documentation I have tried to point out features that will not be supported or be different in later versions. Also, there is a lot of stuff that is undocumented that still might be useful (e.g. try 'getclipboard[]'). I make no guarantees about particular functions operating in exactly the same way in future versions, but if I make any major changes to the syntax I will endeavour to provide easy means of conversion.
One particular change that was done very recently (within the last week) was the addition of new types (before there was only 'list' and 'int'). Some of the documentation (and certainly some of the functions) have not 'caught up' yet with this change. The compiler doesn't really use these types yet (any undocumented functions will store strings as lists of integers), and there might be an odd 0 (false) or 1 (true) still hanging around (the old version of boolean).
There will be a new version coming out (hopefully in the next month or so) that has a faster smaller compiler, macros, and also ellipsis done properly, but this will depend on other commitments and level of interest (compiler writing is hard work). ReWrite is a personal (hobby) project - I am writing it in my spare(?) time.
Let me know
One of the reasons for getting this version out is to get feedback from anybody interested. I would like you hear if you -
• find any bugs or have any other problems with ReWrite,
• have any suggested improvements (check the last appendix of the docs),
• want to make any constructive suggestions,
• have any comments to make about the documentation,
• want to find out how new versions are going,
• have anything else that you want to say or ask.
I can be contacted in the following ways:
Email: rward@random.otago.ac.nz
Postal address (until 30th of December):
Roy Ward,
144 Pine Hill Road,
Dunedin,
New Zealand.
Note that the postal address only applies to the end of the year; after that any mail will not reach me.
There will (hopefully) also be a World Wide Web page soon.
Credits
I wish to thank the following people for their suggestions and encouragement:
ReWrite is freeware and may be distributed freely in its original form (or in its original form along with any source code designed by others that is clearly labelled as such), as long as it is not distributed for profit.